# 正则表达式，大模型预测结果解析

import re


def reason_label_parse(text):
    """
        使用正则表达式提取reason和label，不对label进行解析。
    """
    # 定义正则表达式来匹配reason和label
    pattern = r"(reason:)(.*?)(?=\nlabel|$)"
    # pattern_label = r"(label:)(.*)"
    pattern_label = r"label[:： ](.*)"

    # 使用正则表达式查找reason
    match_reason = re.search(pattern, text, re.DOTALL)
    if match_reason:
        reason = match_reason.group(2).strip()  # 去除前后的空白字符
    else:
        reason = ""

    # 使用正则表达式查找label
    # match_label = re.search(pattern_label, text, re.DOTALL)
    match_label = re.search(pattern_label, text)
    if match_label:
        label = match_label.group(1).strip()  # 去除前后的空白字符

        chars_to_remove = ['"', "[", "]", "'"]
        for char in chars_to_remove:
            label = label.replace(char, "")
    else:
        label = ""

    return reason, label


if __name__ == "__main__":
    text = """  
    reason:  
    根据提供的企业信息，安新县政屿农业科技有限公司的主要业务涉及农业种植、技术服务、仓储服务、租赁服务、销售预包装食品等，与氢能企业的关键特征和业务范畴不符。氢能企业通常专注于氢气的生产、储存、运输、加注、使用和销售，而该公司的业务主要集中在农业领域。  
    
    label: 否  
    """

    reason, label = reason_label_parse(text)
    print(reason)
    print(label)
